home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / raytrace / rayshade / graphtal.lzh / Graphtal.Amiga / AMIGA_Window.h < prev    next >
C/C++ Source or Header  |  1980-02-02  |  2KB  |  71 lines

  1. /*
  2.  * AMIGA_Window.h - class definition amiga window support.
  3.  *
  4.  * Copyright (C) 1992, Lucas Ammon
  5.  *                     University of Berne, Switzerland
  6.  * All rights reserved.
  7.  *
  8.  * This software may be freely copied, modified, and redistributed
  9.  * provided that this copyright notice is preserved on all copies.
  10.  *
  11.  * You may not distribute this software, in whole or in part, as part of
  12.  * any commercial product without the express consent of the authors.
  13.  *
  14.  * There is no warranty or other guarantee of fitness of this software
  15.  * for any purpose.  It is provided solely "as is".
  16.  *
  17.  */
  18.  
  19. #ifndef AMIGA_Window_H
  20. # define AMIGA_Window_H
  21.  
  22. #include <intuition/intuition.h>
  23.  
  24. extern "C" OpenLibrary(...);
  25. extern "C" CloseLibrary(...);
  26. extern "C" GetMsg(...);
  27. extern "C" ReplyMsg(...);
  28. extern "C" OpenWindow(...);
  29. extern "C" CloseWindow(...);
  30. extern "C" PrintIText(...);
  31. extern "C" SetRast(...);
  32. extern "C" Move(...);
  33. extern "C" Draw(...);
  34. extern "C" SetAPen(...);
  35. extern "C" SetBPen(...);
  36.  
  37. #include "BaseWindow.h"
  38.  
  39. //___________________________________________________________ AMIGA_Window
  40.  
  41. class AMIGA_Window : public BaseWindow
  42. {
  43. public:
  44.   AMIGA_Window();
  45.  
  46.   void open(int resX, int resY, const rcString& windowName);
  47.   void close();
  48.   void clear();
  49.   char waitForKey();
  50.   void writeText(const rcString&, int, int);
  51.  
  52. protected:
  53.   void drawLine(int, int, int, int);
  54.   void flush();
  55.  
  56. private:
  57.   struct RastPort *rp;
  58.   struct Window *w;
  59.   struct IntuiMessage *message;
  60.   struct IntuitionBase *intuitionbase; 
  61.   struct GfxBase *gfxbase;
  62.   rcString WindowName;
  63.   int w_xres, w_yres;
  64. };
  65.  
  66. struct IntuitionBase *IntuitionBase; 
  67. struct GfxBase *GfxBase;
  68.  
  69.  
  70. #endif // AMIGA_Window_H
  71.